package com.woniu.api;

import com.woniu.dto.HisRegisterDto;
import com.woniu.dto.PageDTO;
import com.woniu.param.*;
import com.woniu.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;

@FeignClient(
        contextId = "patient-5",
        value = "patient",
        path = "/patient"
)
@Api(tags = "患者挂号表接口")
public interface HisRegisterQueryApi {
    //新增挂号表
    @PostMapping("addregister")
    @ApiOperation("新增挂号表方法")

    Result<HisRegisterDto> newRegistration(@RequestBody AddHisRegisterParam addHisRegisterParam);

    //查询病人过往挂号表
    @GetMapping("getpastregister")
    @ApiOperation("查询病人过往挂号表方法")

    Result<PageDTO<HisRegisterDto>> pastRegistration(@RequestBody PastRegistrationParam pastRegistrationParamtientId);

    //查询医生今日挂号表
    @GetMapping("gettodayregister")
    @ApiOperation("查询医生今日挂号表方法")

    Result<PageDTO<HisRegisterDto>> registerToday(@RequestBody TodayRegisterParam todayRegisterParam);

    //查询挂号表
    @GetMapping("getregister")
    @ApiOperation("查询挂号表方法")

    Result<PageDTO<HisRegisterDto>> registerMessage(@RequestBody ListHisRegisterParam listHisRegisterParam);

    //根据患者ID删除挂号表
    @ApiOperation("根据患者ID删除挂号表方法")
    @DeleteMapping("removeregister")

    Result<Boolean> deleteRegistration(@RequestParam("patientId") ArrayList<Integer> patientId);

    //修改患者挂号表状态
    @PutMapping("modifyregisterstatus")
    @ApiOperation("修改患者挂号表状态方法")

    Result<HisRegisterDto> modifyRegistrationStatus(@RequestParam Integer registerId,@RequestParam Integer registerStatus);

    //修改挂号表
    @PutMapping("modifyregister")
    @ApiOperation("修改挂号表方法")

    Result<HisRegisterDto> modifyRegistration(@RequestBody ModifyHisRegisterParam modifyHisRegisterParam);



}
